/*
 * Copyright (c) 2025 HiSilicon (Shanghai) Technologies Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef SS_CALIBRATION_DATA_H
#define SS_CALIBRATION_DATA_H

#include "ot_af_common.h"
#include "ot_common_sns.h"

#include "ss_calibration.h"

typedef enum {
    OT_ERR_PDAFCALIBDATA_OK = 0,
    OT_ERR_PDAFCALIBDATA_INITED,
    OT_ERR_PDAFCALIBDATA_NOT_INIT,
    OT_ERR_PDAFCALIBDATA_INVALID_INDEX,
    OT_ERR_PDAFCALIBDATA_INVALID_FD,
    OT_ERR_PDAFCALIBDATA_NULL_PTR,
    OT_ERR_PDAFCALIBDATA_FAILURE
} OT_PDAFCALIBDATA_ErrorCode;

td_s32 SS_PDAFCALIBDATA_DccOffsetInit(td_s32 fdDccOffset);

td_s32 SS_PDAFCALIBDATA_DccOffsetDeInit(td_void);

td_s32 SS_PDAFCALIBDATA_GetDccOffset(td_u32 index, OT_AF_PDAFCaliData *calData);

td_s32 SS_PDAFCALIBDATA_GetDccOffsetWithLensParam(td_u32 index, OT_AF_PDAFCaliData *calData,
    const OT_PDAFCALIB_LensParam *lensParam);

td_s32 SS_PDAFCALIBDATA_GainmapInit(td_s32 fdGainmap);

td_s32 SS_PDAFCALIBDATA_GainmapDeInit(td_void);

td_s32 SS_PDAFCALIBDATA_GetGainmap(td_u32 index, ot_isp_cmos_lsc *ispCmosLsc);

#endif
